iT邦幫忙

0

讓 Visual Studio 的開發人員 PowerShell 有 conda 虛擬環境可用

2022-08-17 02:45:461853 瀏覽
  • 分享至 

  • xImage
  •  

VS 2022 PowerShell 原本的啟動參數長這樣

-NoExit -Command "& { Import-Module """$env:VSAPPIDDIR\..\Tools\Microsoft.VisualStudio.DevShell.dll"""; Enter-VsDevShell -SkipAutomaticLocation -SetDefaultWindowTitle -InstallPath $env:VSAPPIDDIR\..\..\}"

作法主要就是為原本的指令加上這個參數

-ExecutionPolicy RemoteSigned

這個參數目的是繞過 PowerShell 的安全性限制

再於大括號的區塊後方匯入 conda 提供的 conda-hook.ps1 並啟動虛擬環境

Import-Module 'C:\Users\username\anaconda3\shell\condabin\conda-hook.ps1'; conda activate base;

最後的成品,路徑記得改成自己的

-ExecutionPolicy RemoteSigned -NoExit -Command "& { Import-Module """$env:VSAPPIDDIR\..\Tools\Microsoft.VisualStudio.DevShell.dll"""; Enter-VsDevShell -SkipAutomaticLocation -SetDefaultWindowTitle -InstallPath $env:VSAPPIDDIR\..\..\; Import-Module 'C:\Users\username\anaconda3\shell\condabin\conda-hook.ps1'; conda activate base;}"

當初因為沒注意到忘了複製 --NoExit 這個參數,搞到我要去讀 conda-hook.ps1 的原始碼弄清楚到底背後做了啥事,一句一句慢慢加上去實驗,最後弄出一個很長的指令版本

-ExecutionPolicy RemoteSigned -NoExit -Command "& { Import-Module """$env:VSAPPIDDIR\..\Tools\Microsoft.VisualStudio.DevShell.dll"""; Enter-VsDevShell -SkipAutomaticLocation -SetDefaultWindowTitle -InstallPath $env:VSAPPIDDIR\..\..\; $Env:CONDA_EXE = 'C:\Users\username\anaconda3\Scripts\conda.exe'; $Env:_CE_M = ''; $Env:_CE_CONDA = ''; $Env:_CONDA_ROOT = 'C:\Users\username\anaconda3';$Env:_CONDA_EXE = 'C:\Users\username\anaconda3\Scripts\conda.exe';$CondaModuleArgs = @{ChangePs1 = $True};Import-Module "$Env:_CONDA_ROOT\shell\condabin\Conda.psm1" -ArgumentList $CondaModuleArgs; conda activate base;}"

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
meeloun
iT邦新手 5 級 ‧ 2024-04-24 13:52:43

小编对如今作业代写 https://www.yydaixie.com 行业的了解发现,如今总体的市场认同度还是非常好的。大家在代写的过程中不仅可以解决学业问题,最关键的是自己也能从中学习一些自己还未掌握的专业技能。

我要留言

立即登入留言